1. Field of the Invention
This invention relates generally to methods and apparatus for allowing inter-operabiltity between computer systems and more particularly to provide the capability to move hard disks of a redundant array of inexpensive disks (RAID) between computers without losing any data and maintaining the properties of the members of the RAID.
2. Description of the Related Art
RAID systems are commonly employed throughout computers today. Mirroring, striping, parity and hybrids of these implementations are prevalent in computers and provide for a high degree of data availability in the case of disk failure. The hard disks used for the various RAID systems contain meta data i.e., data that describes the structure configuration, attributes, etc. of the data stored on the disk.
The meta data is important for the computer system or RAID controller to understand how the data is organized in the RAID system. If for some reason, the computer, with which the RAID system was in communication with, fails while the RAID system is intact, then the RAID system can be transferred to another computer in order to retrieve the data with the assistance of the meta data. Meta data can be stamped on the first few sectors of every disk, i.e., member of the RAID. Alternatively, the RAID meta data can be stored on non volatile memory of a RAID card or a system motherboard. However, the meta data stamped on the first few sectors suffers from the same shortcomings for meta data stored separately from the disks. That is, it is only possible to move the disks to a second computer if the hardware and software that interfaces with the RAID is manufactured by the same company. Otherwise, the second computer system will not recognize the disks or the data contained on the disks of the RAID.
In addition, the process of creating a RAID mirroring system from a single disk containing data is a cumbersome process, since the first few sectors of each of the disks for a RAID must be set aside for the meta data. For example, where a user has a system with a single disk containing data which they would like to convert to a RAID mirroring system, the data on the single disk must be migrated so the first “n” sectors of the disk are free to be stamped with the meta data. FIGS. 1A and 1B illustrate the operations for migrating data from a first disk to a second disk to create a RAID mirroring system. Block diagram 100 of FIG. 1A displays disk 1 102 and disk 2 106. Disk 1 102 contains data in region 103 that a user would like to implement as a RAID mirroring system. In order to migrate the data so that disk 2 106 is a copy of disk 1 102, the data from disk 1 of region 103 is copied to disk 2 in region 107. However, the data is shifted by at least “n” sectors on disk 2 106 in order to leave region 108 empty on disk 2 so that the meta data can be stamped into the first “n” sectors (or more) of disk 2. In doing this, the data in at least the last “n” sectors 104 of disk 1 102 will be lost if disk 1 and disk 2 106 are the same size.
FIG. 1B displays disk 2 106 being stamped with meta data in the first “n” sectors 114 of disk 2 106. The contents of disk 2 106 are then copied down to disk 1 102. Accordingly, disk 1 102 contains the meta data in the first “n” sectors 118 and disk 1 102 and disk 2 106 are duplicate images capable of being implemented in a RAID. Moreover, the migration process becomes more cumbersome for a RAID implementation using striping, as an extra step is needed to temporarily store the stripe over three or four disks.
As a result, there is a need to solve the problems of the prior art to provide for interoperability of RAID systems and simplify the migration process for implementing a RAID mirroring system from a single disk.